
$(document).ready(function() 
{ 
    $('input').blur(function(){
    	var elem_id = $(this).parent().prev().find('label').attr('for');
    	setTimeout(function(){doValidation(elem_id)}, 500);
    });
    
});

function doValidation(id)
{
	url = '/tender/contact/validate';
	var data = {};

	$('input').each(function(){
		if( $(this).get(0).tagName == 'select') {
			id = $(this).attr('id');
			data[$(this).attr('name')] = $('#'+id+' :selected').val();
		} else {
			data[$(this).attr('name')] = $(this).val();
		}
	});

	$('#'+id).parent().find('.errors').remove();
	
	$.post(url, data, function(response){
		if( response[id] ) {
			$('#'+id).parent().append(getErrorHtml(response[id], id));
		}
	}, 'json');
}

function getErrorHtml(formErrors, id)
{
	var o = '<ul id="errors-'+id+'" class="errors">';
	for( errorKey in formErrors)
	{
		o += '<li>' + formErrors[errorKey] + '</li>';
	}
	o += '</ul>';
	return o;
}